Telegram Group & Telegram Channel
Из гайда по безопасности Django

Фреймворк известен своей философией «батарейки в комплекте». Однако даже с его встроенными средствами защиты, безопасность приложения во многом зависит от разработчика.

Современные веб-приложения сталкиваются с множеством угроз. Хотя Django предоставляет встроенные механизмы защиты от многих из них, полезно ознакомиться с основными InfoSec-практиками.

Обновление Django и зависимостей

Регулярно «освежайте» версию фреймворка и сторонних библиотек, они нередко содержат хотфиксы в контексте безопасности.

Передача данных по HTTPS

Обязательно настраивайте свой веб-сервер, будь то nginx или что другое, на HTTPS. SSL-сертификат можно получить бесплатно на letsencrypt.com. Библиотека certbot даже позволяет настроить автопродление серта.

Ограничение доступа к базе данных

Хотя Django ORM защищает от SQL-инъекций, дополнительные меры не повредят:

— Ограничьте права пользователя БД до необходимого минимума;
— Регулярно создавайте резервные копии и шифруйте данные;
— Используйте ORM Django.

Если необходимо использовать сырой SQL, спасет параметризация. В примере ниже драйвер БД экранирует значение username:


from django.db import connection

with connection.cursor() as cursor:
cursor.execute("SELECT * FROM auth_user WHERE username = %s", [username])


Встроенные средства безопасности

Создатели проекта предоставляет множество встроенных механизмов безопасности:

— Добавьте django.middleware.security.SecurityMiddleware в список MIDDLEWARE;
— Настройте заголовки безопасности, такие как Content-Security-Policy, X-Content-Type-Options, X-Frame-Options.

Аутентификация

— Реализуйте многофакторную аутентификацию с помощью пакетов, таких как django-otp;
— Применяйте ролевую модель доступа для управления правами пользователей.

Полезные библиотеки | Misc

Ниже представлена слегка эклектичная, но полезная подборка тулов, прямо или косвенно повышающих безопасность вашего сайта:
— django-ratelimit ограничит частоту запросов;
— django-guardian управляет объектно-ориентированными разрешениями;
— SonarQube / semgrep.dev: автотестирует ваш проект на предмет эксплойтов (DevSecOps).

#безопасность #основы
@zen_of_python



tg-me.com/zen_of_python/4253
Create:
Last Update:

Из гайда по безопасности Django

Фреймворк известен своей философией «батарейки в комплекте». Однако даже с его встроенными средствами защиты, безопасность приложения во многом зависит от разработчика.

Современные веб-приложения сталкиваются с множеством угроз. Хотя Django предоставляет встроенные механизмы защиты от многих из них, полезно ознакомиться с основными InfoSec-практиками.

Обновление Django и зависимостей

Регулярно «освежайте» версию фреймворка и сторонних библиотек, они нередко содержат хотфиксы в контексте безопасности.

Передача данных по HTTPS

Обязательно настраивайте свой веб-сервер, будь то nginx или что другое, на HTTPS. SSL-сертификат можно получить бесплатно на letsencrypt.com. Библиотека certbot даже позволяет настроить автопродление серта.

Ограничение доступа к базе данных

Хотя Django ORM защищает от SQL-инъекций, дополнительные меры не повредят:

— Ограничьте права пользователя БД до необходимого минимума;
— Регулярно создавайте резервные копии и шифруйте данные;
— Используйте ORM Django.

Если необходимо использовать сырой SQL, спасет параметризация. В примере ниже драйвер БД экранирует значение username:


from django.db import connection

with connection.cursor() as cursor:
cursor.execute("SELECT * FROM auth_user WHERE username = %s", [username])


Встроенные средства безопасности

Создатели проекта предоставляет множество встроенных механизмов безопасности:

— Добавьте django.middleware.security.SecurityMiddleware в список MIDDLEWARE;
— Настройте заголовки безопасности, такие как Content-Security-Policy, X-Content-Type-Options, X-Frame-Options.

Аутентификация

— Реализуйте многофакторную аутентификацию с помощью пакетов, таких как django-otp;
— Применяйте ролевую модель доступа для управления правами пользователей.

Полезные библиотеки | Misc

Ниже представлена слегка эклектичная, но полезная подборка тулов, прямо или косвенно повышающих безопасность вашего сайта:
— django-ratelimit ограничит частоту запросов;
— django-guardian управляет объектно-ориентированными разрешениями;
— SonarQube / semgrep.dev: автотестирует ваш проект на предмет эксплойтов (DevSecOps).

#безопасность #основы
@zen_of_python

BY Zen of Python




Share with your friend now:
tg-me.com/zen_of_python/4253

View MORE
Open in Telegram


Zen of Python Telegram | DID YOU KNOW?

Date: |

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.

Zen of Python from us


Telegram Zen of Python
FROM USA